#ifndef _UIMESSAGELOOPIMPL_H_
#define _UIMESSAGELOOPIMPL_H_

#include "stdafx.h"

class CUiMessageloopImpl :	public IUIMessageLoop,
							public CUnknownImp
{
public:
	CUiMessageloopImpl(void);
	virtual ~CUiMessageloopImpl(void);
public:

	BEGIN_STDCOM_MAP
		STDCOM_INTERFACE_ENTRY(IUIMessageLoop)
		STDCOM_INTERFACE_ENTRY_UNKNOWN_(IUIMessageLoop)
	END_STDCOM_MAP

	//IUiMessageLoop
	std_method(Add)(IUIWindow* pBase);
	std_method(Del)(IUIWindow* pBase);
	std_method_(int, MessageLoop)();
	std_method_(int, PushMessage)(const NotifyEvent* event);
private:
	typedef vector<IUIWindow*> VectorUiWindowPtr;
	typedef vector<IUIWindow*>::iterator VectorUiWindowItemPtr;
	VectorUiWindowPtr m_pVecMessageLoop;
};

#endif 
